Current solutions for position and pose determination and tracking of objects suffer from several deficiencies. For example, devices intended for a mobile environment are confined to 3 Degree-of-Freedom (3DoF) tracking solutions. In other words, these systems are only able to track a user's motion through three axes of movement: yaw (normal axis), pitch (lateral axis) and roll (longitudinal axis) about a fixed position (i.e., there is no translation). Because these systems lack the 6 Degree-of-Freedom (6DoF) present in the physical world, developers using these systems are restricted in the level of immersion they can provide within their applications. In addition, these current solutions are only able to provide limited precision, which may be acceptable for gaming, but is inadequate for certain simulations (e.g., surgical simulation), education, and other use cases where true immersion is required.
On the other hand, current 6DoF positional tracking technology generally requires a powerful computer to derive and calculate the relative position of a user whilst inside a VR or AR environment. For example, this technology may consist of an external infrared lamp, which may be referred to as a “Base Station” or “Beacon.” These Base Stations broadcast horizontal and vertical sweeps of infrared (IR) light into a physical space at about 60 times a second. The IR light sweeps are received by IR sensors (e.g., diodes) integrated into objects within the physical space. The IR diodes will interact with the IR sweeps and interpret them as timing data. The timing data from all of the IR diodes is transmitted via a tethered or wireless connection to an x86 (or similarly powerful) machine. The x86 machine then calculates all the time differences between all the individual IR diodes (e.g., on the user's headset and input controllers) and can then calculate a sub-millimeter XYZ position for the user, 60 times a second. Thus, 6DoF tracking has been restricted to high-powered and relatively non-mobile (tethered) solutions, such as x86-based architectures.